Modern computing devices have become ubiquitous tools for personal, business, and social uses. As a result, the number and complexity of features provided by such computing devices continues to increase. Many of those features rely on platform-specific functionality provided by basic input/output (BIOS) and/or firmware components of the computing devices. As such, the increase in the number and complexity of the features provided by modern computing devices has caused the size of BIOS code and/or firmware components to increase as well.
During early initialization of a computing device, the BIOS and/or firmware often needs an amount of temporary storage to perform boot operations. Additionally, various components of the computing device require an amount of temporary storage and/or a stack to be initialized. In some cases, the boot operations are performed and/or the components are initialized before the main system memory of the computing device is available. As such, the BIOS and/or firmware of some computing devices initialize a portion of processor cache memory as temporary RAM, or “Cache as RAM.” Cache as RAM may be used to temporarily store data and variables prior to initialization of the main system memory. However, the total size of the data and variables that may be temporarily stored in the Cache as RAM is effectively limited by the size of the cache memory of the processor. As such, the amount of temporary storage available via Cache as RAM is beginning to reach capacity as the size of BIOS code and/or firmware increases.